Controller for motor

ABSTRACT

A controller for a motor that can set an induced voltage constant of a motor of a double rotor type according to an operational state of the motor and expand the controllable range of the motor. The controller may include a command calculator that calculates a command value of the induced voltage constant of a motor based on the output voltage of a direct-current power supply, the number of revolutions Nm of the motor and a torque command in such a manner that the magnitude of a vector sum of a d-axis current and a q-axis current that have to be supplied in order to produce the torque according to the torque command is minimized, and a phase difference controller that calculates a command value of a rotor phase difference according to the command value and outputs the command value to an actuator to change the rotor phase difference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a controller for a motor that carries out field control of a permanent magnet field type rotary motor by changing the phase difference between two rotors disposed concentrically.

2. Description of the Related Art

There has been known a motor that comprises a permanent magnet field type rotary motor that has a first rotor and a second rotor concentrically disposed around a rotating shaft and carries out field weakening control by changing the phase difference between the first rotor and the second rotor according to the rotational velocity to change the induced voltage constant of the motor (see Japanese publication of unexamined patent application No. 2002-204541).

In such a conventional motor, the first rotor and the second rotor are connected via a member that is displaced in the radial direction by the action of a centrifugal force. The motor is configured so that, when the motor is halted, the magnetic pole of the permanent magnet on the first rotor and the magnetic pole of the permanent magnetic pole on the second rotor are oriented in the same direction, and thus the magnetic flux of the field is maximized (the induced voltage constant of the motor is maximized). In addition, the motor is configured so that, as the rotational velocity of the motor increases, the phase difference between the first rotor and the second rotor increases by the action of the centrifugal force, and thus the magnetic flux of the field decreases (the induced voltage constant of the motor decreases).

FIG. 22 shows a region for which field weakening of the motor is required. In this drawing, the axis of ordinates indicates the output torque Tr, and the axis of abscissas indicates the number of revolutions N. Reference character “u” in FIG. 22 denotes an orthogonal line of the motor (a line connecting points at which the phase voltage of the motor equals to the power supply voltage when the motor operates without the field weakening control and determined depending on the combination of the number of revolutions and the output torque). In this drawing, reference character X denotes a region for which the field weakening is not required, and reference character Y denotes a region for which the field weakening is required.

As shown in FIG. 22, the region Y for which the field weakening is required is determined by the number of revolutions N and the output torque Tr of the motor. Therefore, the conventional field weakening control that relies merely on the number of revolutions has a disadvantage that the induced voltage constant of the motor is changed excessively or insufficiently with respect to the required amount of field weakening control.

In addition, since the induced voltage constant cannot be changed independently of the number of revolutions of the motor, there is a disadvantage that an appropriate induced voltage constant cannot be set by taking into account operational conditions other than the number of revolutions, such as limitations on the output torque of the motor and the current that can be supplied, and thus the controllable range of the motor is narrow.

The present invention has been made in view of such circumstances, and an object of the present invention is to provide a controller for a motor that can appropriately set the induced voltage constant of a motor of a double rotor type according to the operational state of the motor and expand the controllable range of the motor.

SUMMARY OF THE INVENTION

The present invention has been made in order to attain the object described above and relates to improvement of a controller for a motor that controls the operation of a permanent magnet field type rotary motor that has a first rotor and a second rotor having a plurality of fields constituted by permanent magnets and disposed around a rotating shaft, the controller comprising: a rotor phase difference changing means that changes the rotor phase difference between the first rotor and the second rotor; an inverter that converts a direct-current voltage supplied from a direct-current power supply into a polyphase alternating-current voltage and applies the polyphase alternating-current voltage to an armature of the motor; and an energization controlling means that controls a phase current, which is a vector sum of currents flowing through armatures of the respective phases of the motor via the inverter, according to a predetermined torque command.

The controller further comprises: a number-of-revolutions detecting means that detects the number of revolutions of the motor; and a rotor phase difference controlling means that makes the rotor phase difference changing means change the rotor phase difference based on the output voltage of the direct-current power supply, the number of revolutions of the motor and the torque command in such a manner that the phase current required to produce a torque according to the torque command is minimized.

According to the present invention, the rotor phase difference controlling means changes the rotor phase difference according to the operational state of the motor in such a manner that the magnitude of the phase current required to produce the torque according to the torque command is minimized. Therefore, the controllable range of the motor can be expanded as much as possible within the range of the phase current energization capability of the energization controlling means.

Furthermore, the rotor phase difference controlling means applies a correlation map for determining an induced voltage constant that minimizes the phase current of the motor for direct-current voltage supplied to the inverter, number of revolutions of the motor and torque of the motor, which are preset, to the output voltage of the direct-current power supply, the number of revolutions of the motor detected by the number-of-revolutions detecting means and the torque command, thereby obtaining an induced voltage constant therefor, and changes the rotor phase difference of the motor according to the obtained induced voltage constant.

According to the present invention, the rotor phase difference controlling means can obtain the optimal induced voltage constant suitable for the operational state of the motor by using the correlation map. Thus, the rotor phase difference controlling means can set the rotor phase difference that minimizes the phase current according to the operational state of the motor by changing the rotor phase difference of the motor according to the obtained induced voltage constant.

Furthermore, the motor is converted into an equivalent circuit having a d-axis armature on a d-axis extending in the direction of magnetic fluxes of the fields and a q-axis armature on a q-axis orthogonal to the d-axis, the energization controlling means carries out energization control in such a manner that the difference between an actual value and a command value of the d-axis current, which is a current flowing through the d-axis armature, is reduced, and the difference between an actual value and a command value of the q-axis current, which is a current flowing through the q-axis armature, is reduced, and the controller further comprises a current command setting means that designates a combination of a d-axis current and a q-axis current that minimizes the magnitude of a dq-axis current, which is a vector sum of the d-axis current and the q-axis current as a first dq current setting based on the induced voltage constant of the motor according to the rotor phase difference, wherein the combination is among combinations of a d-axis current and a q-axis current that provide the torque according to the torque command, the current command setting means estimates induced voltages produced in the d-axis armature and the q-axis armature when a d-axis current and a q-axis current according to the first dq current setting are supplied, respectively, based on the induced voltage constant of the motor according to the rotor phase difference and the number of revolutions of the motor, and the current command setting means designates the d-axis current according to the first dq current setting as a command value of the d-axis current and the q-axis current according to the first dq current setting as a command value of the q-axis current in the case where a dq determination voltage, which is a vector sum of the estimated induced voltage produced in the d-axis armature and the estimated induced voltage produced in the q-axis armature, is equal to or lower than a limited voltage set according to the output voltage of the direct-current power supply, and a first dq determination current, which has a magnitude equal to the magnitude of the dq-axis current according to the first dq current setting, is equal to or lower than a predetermined limited current.

According to the present invention, under the operational condition of the motor that there is no limitations by the limited voltage and the limited current, the current command setting means sets a command value of the d-axis current and a command value of the q-axis current according to the first dq current setting that minimizes the magnitude of the dq current for the torque command. Thus, the controllable range of the motor in which the torque according to the torque command can be produced can be expanded.

Furthermore, in the case where the dq determination voltage is equal to or lower than the limited voltage, and the first dq determination current is higher than the limited current, the current command setting means designates a combination of a d-axis current and a q-axis current that makes the magnitude of the dq-axis current equal to the magnitude of the limited current and maximizes the torque of the motor as a second dq current setting and designates the d-axis current according to the second dq current setting as a command value of the d-axis current and the q-axis current according to the second dq current setting as a command value of the q-axis current.

According to the present invention, under the operational condition of the motor that there is a limitation of the limited current, although there is no limitation of the limited voltage, the current command setting means set a command value of the d-axis current and a command value of the q-axis current according to the second dq current setting that maximizes the output torque of the motor within a range where the magnitude of the dq current is equal to the magnitude of the limited current. Thus, the controllable range of the motor within the range defined by the limited current can be expanded.

Furthermore, the motor is converted into an equivalent circuit having a d-axis armature on a d-axis extending in the direction of magnetic fluxes of the fields and a q-axis armature on a q-axis orthogonal to the d-axis, the energization controlling means carries out energization control in such a manner that the difference between an actual value and a command value of the d-axis current, which is a current flowing through the d-axis armature, is reduced, and the difference between an actual value and a command value of the q-axis current, which is a current flowing through the q-axis armature, is reduced, and the controller further comprises a current command setting means that designates a combination of a d-axis current and a q-axis current that minimizes the magnitude of a dq-axis current, which is a vector sum of the d-axis current and the q-axis current as a first dq current setting based on the induced voltage constant of the motor according to the rotor phase difference, wherein the combination is among combinations of a d-axis current and a q-axis current that provide the torque according to the torque command, and the current command setting means estimates induced voltages produced in the d-axis armature and the q-axis armature when a d-axis current and a q-axis current according to the first dq current setting are supplied, respectively, based on the induced voltage constant of the motor according to the rotor phase difference and the number of revolutions of the motor, and the current command setting means determines whether or not a second dq determination current having a magnitude equal to the magnitude of the dq-axis current according to a third dq current setting is equal to or lower than a predetermined limited current if the third dq current setting, which is a combination of a d-axis current and a q-axis current that maximizes the torque of the motor, can be calculated in the case where a dq determination voltage, which is a vector sum of the estimated induced voltage produced in the d-axis armature and the estimated induced voltage produced in the q-axis armature, is higher than a limited voltage set according to the output voltage of the direct-current power supply, and a dq induced voltage, which is a vector sum of the induced voltage produced in the d-axis armature and the induced voltage produced in the q-axis armature, is equal to the limited voltage, and designates the d-axis current according to the third dq current setting as a command value of the d-axis current and the q-axis current according to the third dq current setting as a command value of the q-axis current if the second dq determination current is equal to or lower than the limited current.

According to the present invention, under the operational condition of the motor that the third dq current setting that makes the magnitude of the dq current equal to or lower than the limited current when the dq induced voltage is equal to the limited voltage can be calculated, although there is a limitation of the limited voltage, the current command setting means sets a command value of the d-axis current and a command value of the q-axis current according to the third dq current setting. Thus, the controllable range of the motor within the range defined by the limited voltage can be expanded.

Furthermore, in the case where it is found that the second dq determination current is higher than the limited current as the result of the determination of whether or not the second dq determination current is equal to or lower than the limited current, the current command setting means having the magnitude of the dq-axis current is equal to the magnitude of the limited current, determines whether or not a fourth dq current setting, which is a combination of a d-axis current and a q-axis current that makes the dq induced voltage equal to the limited current, can be calculated, and designates the d-axis current according to the fourth dq current setting as a command value of the d-axis current and the q-axis current according to the fourth dq current setting as a command value of the q-axis current if it is determined that the fourth dq current setting can be calculated.

According to the present invention, under the operational condition of the motor that there is a limitation of the limited voltage, and the second determination current is higher than the limited current, the current command setting means sets a command value of the d-axis current and a command value of the q-axis current according to the fourth dq current setting. Thus, within the range of the limited current and the limited voltage, the controllable range of the motor can be expanded.

Furthermore, the motor is converted into an equivalent circuit having a d-axis armature on a d-axis extending in the direction of magnetic fluxes of the fields and a q-axis armature on a q-axis orthogonal to the d-axis, the energization controlling means carries out energization control in such a manner that the difference between an actual value and a command value of the d-axis current, which is a current flowing through the d-axis armature, is reduced, and the difference between an actual value and a command value of the q-axis current, which is a current flowing through the q-axis armature, is reduced, and the controller further comprises a current command setting means that designates a combination of a d-axis current and a q-axis current that minimizes the magnitude of a dq-axis current, which is a vector sum of the d-axis current and the q-axis current, as a first dq current setting based on the induced voltage constant of the motor according to the rotor phase difference, wherein the combination is among combinations of a d-axis current and a q-axis current that provide the torque according to the torque command, and the current command setting means estimates induced voltages produced in the d-axis armature and the q-axis armature when a d-axis current and a q-axis current according to the first dq current setting are supplied, respectively, based on the induced voltage constant of the motor according to the rotor phase difference and the number of revolutions of the motor, and the current command setting means calculates a fifth dq current setting, which is a combination of a d-axis current and a q-axis current that maximizes the torque of the motor for the induced voltage constant of the motor and makes the dq induced voltage equal to the limited voltage, if a third dq current setting, which is a combination of a d-axis current and a q-axis current that maximizes the torque of the motor, cannot be calculated in the case where a dq determination voltage, which is a vector sum of the estimated induced voltage produced in the d-axis armature and the estimated induced voltage produced in the q-axis armature, is higher than a limited voltage set according to the output voltage of the direct-current power supply, and a dq induced voltage, which is a vector sum of the induced voltage produced in the d-axis armature and the induced voltage produced in the q-axis armature, is equal to the limited voltage, and the current command setting means determines whether or not a third determination current having a magnitude equal to the magnitude of the dq-axis current according to the fifth dq current setting is equal to or lower than the limited current, and designates the d-axis current according to the fifth dq current setting as a command value of the d-axis current and the q-axis current according to the fifth dq current setting as a command value of the q-axis current if the third determination current is equal to or lower than the limited current.

According to the present invention, under the operational condition of the motor that there is a limitation of the limited voltage, and the third dq current setting that makes the magnitude of the dq current equal to or lower than the limited current when the dq induced voltage is equal to the limited voltage cannot be calculated, the current command setting means sets a command value of the d-axis current and a command value of the q-axis current according to the fifth dq current setting under the condition that the third determination current is equal to or lower than the limited current. Thus, the controllable range of the motor can be expanded according to the induced voltage constant of the motor within the limit of the limited voltage.

Furthermore, in the case where it is found that the third dq determination current is higher than the limited current as the result of the determination of whether or not the third dq determination current is equal to or lower than the limited current, the current command setting means determines whether or not a fourth dq current setting, which is a combination of a d-axis current and a q-axis current that makes the magnitude of the dq-axis current equal to the magnitude of the limited current and makes the dq induced voltage equal to the limited current, can be calculated, and designates the d-axis current according to the fourth dq current setting as a command value of the d-axis current and the q-axis current according to the fourth dq current setting as a command value of the q-axis current if it is determined that the fourth dq current setting can be calculated.

According to the present invention, under the operational condition of the motor that there is a limitation of the limited voltage, the third dq current setting that makes the magnitude of the dq current equal to or lower than the limited current when the dq induced voltage is equal to the limited voltage cannot be calculated, and the third determination current is higher than the limited current, the current command setting means sets a command value of the d-axis current and a command value of the q-axis current according to the fourth dq current setting. Thus, the controllable range of the motor can be expanded according to the induced voltage constant of the motor within the limitations by the limited voltage and the limited current.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a control block diagram showing a controller for a motor according to the present invention;

FIG. 2 is a diagram showing a configuration of the motor shown in FIG. 1, which is of double rotor type;

FIGS. 3( a) and 3(b) include diagrams for illustrating the effect of changing the phase difference between an outer rotor and an inner rotor;

FIG. 4 is a graph for illustrating the effect of changing the phase difference between an outer rotor and an inner rotor;

FIG. 5 is a flowchart illustrating an entire operation of the controller for the motor;

FIG. 6 is a diagram for illustrating the effect of expansion of a controllable range of the motor by changing the rotor phase difference;

FIGS. 7( a) and 7(b) include diagrams for illustrating the effect of expansion of a controllable range of the motor by changing the rotor phase difference;

FIGS. 8( a) and 8(b) include diagrams for illustrating the effect of expansion of a controllable range of the motor by changing the rotor phase difference;

FIG. 9 is a diagram for illustrating a procedure of creating a map for determining an optimal induced voltage constant;

FIGS. 10( a) and 10(b) include diagrams for illustrating the procedure of creating a map for determining an optimal induced voltage constant;

FIGS. 11( a) and 11(b) include diagrams for illustrating the procedure of creating a map for determining an optimal induced voltage constant;

FIG. 12 is a flowchart of a process of calculating the optimal induced voltage constant;

FIG. 13 is a diagram illustrating a map for converting an induced voltage constant into a rotor phase difference;

FIGS. 14( a) and 14(b) include diagrams for illustrating a method of determining an optimal current command value;

FIGS. 15( a), 15(b), and 15(c) include diagrams for illustrating the method of determining an optimal current command value;

FIGS. 16( a) and 16(b) include diagrams for illustrating the method of determining an optimal current command value;

FIGS. 17( a) and 17(b) include diagrams for illustrating the method of determining an optimal current command value;

FIGS. 18( a) and 18(b) include diagrams for illustrating the method of determining an optimal current command value;

FIG. 19 is a flowchart illustrating a process of setting an optimal current command value;

FIG. 20 is a flowchart illustrating the process of setting an optimal current command value;

FIG. 21 is a flowchart illustrating the process of setting an optimal current command value; and

FIG. 22 is a diagram for illustrating the need of a field weakening control in driving and regeneration.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

An embodiment of the present invention will be described with reference to FIGS. 1 to 21. FIG. 1 is a control block diagram showing a controller for a motor according to the present invention. FIG. 2 is a diagram showing a configuration of the motor shown in FIG. 1, which is of double rotor type. FIGS. 3 and 4 are diagrams for illustrating the effect of changing the phase difference between an outer rotor and an inner rotor. FIG. 5 is a flowchart illustrating an entire operation of the controller for the motor. FIGS. 6 to 8 are diagrams for illustrating the effect of expansion of a controllable range of the motor by changing the rotor phase difference. FIGS. 9 to 11 are diagrams for illustrating a procedure of creating a map for determining an optimal induced voltage constant. FIG. 12 is a flowchart of a process of calculating the optimal induced voltage constant. FIG. 13 is a diagram illustrating a map for converting an induced voltage constant into a rotor phase difference. FIGS. 14 to 18 are diagrams for illustrating a method of determining an optimal current command value. FIGS. 19 to 21 are flowcharts illustrating a process of setting the optimal current command value.

Referring to FIG. 1, a controller for a motor (referred to as motor controller hereinafter) according to the present invention is intended to control the operation of a motor 1, which is a DC brushless motor with two rotors. First, referring to FIGS. 2 to 4, a configuration of the motor 1 will be described.

As shown in FIG. 2, the motor 1 is a DC brushless motor comprising an inner rotor 11 having fields constituted by permanent magnets 11 a and 11 b disposed at regular intervals along the circumference thereof, an outer rotor 12 having fields constituted by permanent magnets 12 a and 12 b disposed at regular intervals along the circumference thereof, and a stator 10 having an armature 10 a for producing a rotating magnetic field with respect to the inner rotor 11 and the outer rotor 12. One of the inner rotor 11 and the outer rotor 12 corresponds to a first rotor according to the present invention, and the other corresponds to a second rotor according to the present invention.

The inner rotor 11 and the outer rotor 12 are concentrically disposed so that the rotors rotate about a rotating shaft 2 of the motor 1. On the inner rotor 11, the permanent magnets 11 a having their respective S poles oriented toward the rotating shaft 2 and the permanent magnets 11 b having their respective N poles oriented toward the rotating shaft 2 are alternately disposed. Similarly, on the outer rotor 12, the permanent magnets 12 a having their respective S poles oriented toward the rotating shaft 2 and the permanent magnets 12 b having their respective N poles oriented toward the rotating shaft 2 are alternately disposed.

The motor 1 further comprises a relative rotation mechanism (not shown), such as a planetary gear mechanism, for changing the rotor phase difference, which is the phase difference between the outer rotor 12 and the inner rotor 11. The rotor phase difference can be changed by operating the relative rotation mechanism by means of an actuator 25 (see FIG. 1). The actuator 25 may be a motor or a hydraulic device, for example. The relative rotation mechanism and the actuator 25 constitute rotor phase difference changing means according to the present invention.

The phase difference between the outer rotor 12 and the inner rotor 11 can be changed at least by 180 degrees in the advance or lag direction in terms of electrical angle. The state of the motor 1 can be appropriately set between a field-weakened state in which the permanent magnets 12 a and 12 b on the outer rotor 12 and the permanent magnets 11 a and 11 b on the inner rotor 11 face each other with the like poles facing each other and a field-strengthened state in which the permanent magnets 12 a and 12 b on the outer rotor 12 and the permanent magnets 11 a and 11 b on the inner rotor 11 face each other with the opposite poles facing each other.

FIG. 3( a) shows the field-strengthened state, in which the directions of magnetic fluxes Q2 of the permanent magnets 12 a and 12 b on the outer rotor 12 are the same as the directions of magnetic fluxes Q1 of the permanent magnets 11 a and 11 b on the inner rotor 11, respectively, and therefore, increased composite magnetic fluxes Q3 result. On the other hand, FIG. 3( b) shows the field-weakened state, in which the directions of the magnetic fluxes Q2 of the permanent magnets 12 a and 12 b on the outer rotor 12 are opposite to the directions of the magnetic fluxes Q1 of the permanent magnets 11 a and 11 b on the inner rotor 11, respectively, and therefore, decreased composite magnetic fluxes Q3 result.

FIG. 4 shows graphs, for comparison, of an induced voltage produced in the armature of the stator 10 when the motor 1 operates at a predetermined number of revolutions in the states shown in FIGS. 3( a) and 3(b). In this drawing, the axis of ordinates indicates the induced voltage (V), and the axis of abscissas indicates the electrical angle (degree). In this drawing, reference character “a” represents the state shown in FIG. 3( a) (field-strengthened state), and reference character “b” represents the state shown in FIG. 3( b) (field-weakened state). As can be seen from FIG. 4, the level of the induced voltage produced significantly changes as the phase difference between the outer rotor 12 and the inner rotor 11 changes.

An induced voltage constant Ke of the motor 1 can be changed by increasing or decreasing the magnetic fluxes of the fields by changing the phase difference between the outer rotor 12 and the inner rotor 11. Thus, compared with a case where the induced voltage constant Ke is constant, the motor 1 can operate with wide ranges of output power and number of revolutions. Furthermore, compared with a case where the field weakening control is conducted by energizing an armature on a d-axis (field axis) by dq coordinate conversion, the loss of the motor 1 is reduced, and thus the operational efficiency of the motor 1 is enhanced.

In the following, with reference to FIG. 1, a configuration of the motor controller will be described. The motor controller converts the motor 1 into an equivalent circuit based on a two-phase direct-current rotating coordinate system in which the direction of field is indicated by a d-axis, and the direction orthogonal to the d-axis is indicated by a q-axis and controls the amount of energization of the motor 1 so that the motor 1 outputs a torque according to a torque command Tr_c externally supplied.

The motor controller is an electronic unit composed of a CPU, a memory and the like. The motor controller comprises a current command calculator 50 (which corresponds to current command setting means according to the present invention) that calculates a command value Id_c of a current (referred to as d-axis current hereinafter) flowing through an armature on the d-axis (referred to as d-axis armature hereinafter) and a command value Iq_c of a current (referred to as q-axis current hereinafter) flowing through an armature on the q-axis (referred to as q-axis armature hereinafter) based on the torque command Tr_c, the number of revolutions Nm of the motor 1 and a calculated value Ke_s of the induced voltage constant of the motor 1, and a three-phase/dq converter 56 that calculates a detection value Id_s of the d-axis current and a detection value Iq_s of the q-axis current by three-phase/dq conversion based on a current detection signal obtained by current sensors 61 and 62 from which an unwanted component has been removed by a band pass filter (BP) 57 and a rotor angle θm of the outer rotor 12 detected by a resolver 70.

Furthermore, the motor controller comprises a subtracter 51 that calculates the difference ΔId between the command value Id_c and the detection value Id_s of the d-axis current, a subtracter 52 that calculates the difference ΔIq between the command value Iq_c and the detection value Iq_s of the q-axis current, a current feedback (FB) controller 53 that determines a command value Vd_c of a voltage applied to the d-axis armature (referred to as d-axis voltage hereinafter) and a command value Vq_c of a voltage applied to the q-axis armature (referred to as q-axis voltage hereinafter) based on the differences ΔId and ΔIq, an rθ converter 54 that converts the voltages Vd_c and Vq_c into an angle θ and a magnitude r, and a PWM calculator 55 (including the function of an inverter according to the present invention) that produces a three-phase AC voltage responsive to the angle θ and the magnitude r from a direct-current voltage Vdc and outputs the three-phase AC voltage to the motor 1.

The subtracter 51, the subtracter 52, the current FB controller 53, the rθ converter 54, the BP filter 57 and the three-phase/dq converter 56 constitute energization controlling means according to the present invention.

Furthermore, the motor controller comprises a differentiator 71 (which corresponds to number-of-revolutions detecting means according to the present invention) that differentiates the rotor angle θm of the motor 1 detected by the resolver 70 and outputs the number of revolutions Nm of the motor 1, a Ke command value calculator 90 that calculates a command value Ke_c of an optimal induced voltage constant based on the torque command Tr_c, the output voltage Vdc of a direct-current power supply (not shown) and the number of revolutions Nm of the motor, a Ke calculator 92 that calculates an induced voltage constant Ke_s according to a detection value θd_s of the rotor phase difference obtained by a phase difference detector 26, a subtracter 91 that calculates the difference ΔKe between the values Ke_c and Ke_s, and a phase difference controller 80 that calculates a command value θd_c of the rotor phase difference from the values Ke_s and ΔKe and outputs the command value θd_c to the actuator 25. The Ke command value calculator 90, the subtracter 91, the Ke calculator 92, the phase difference controller 80 and the phase difference detector 26 constitute rotor phase difference controlling means according to the present invention.

Now, with reference to the flowchart of FIG. 5, a process of calculating the command value Ke_c of the optimal induced voltage constant by the Ke command calculator 90 and a process of calculating the d-axis command value Id_c and the q-axis current command value Iq_c by the current command calculator 50 will be described.

STEPS 1 to 3 in FIG. 5 are processings carried out by the Ke command calculator 90. In STEP 1, the Ke command calculator 90 obtains the output voltage Vdc of the direct-current power supply, the torque command Tr_c and the number of revolutions Nm of the motor 1. Then, in the following STEP 2, a correlation map for determining an optimal induced voltage constant for the values Vdc, Tr_c and Nm, which is previously stored in a memory (not shown), is applied to the set of values (Vdc, Tr_c, Nm) obtained in STEP 1, thereby determining a value Ke as the command value Ke_c of the induced voltage constant.

FIG. 6 shows changes in efficiency, total loss, iron loss, copper loss and dq-axis current, which is a vector sum of the d-axis current and the q-axis current, in a case where the output torque of the motor 1 is constant in a region of the number of revolutions equal to or less than a basic number of revolutions at which a dq induced voltage V₀, which is a vector sum of the induced voltage produced in the d-axis armature and the induced voltage produced in the q-axis armature of the motor 1, is equal to a limited voltage V_(0m) (which is set close to an upper limit of a dq voltage (a vector sum of the d-axis voltage and the q-axis voltage) that can be output from the PWM calculator 55). In this drawing, the left-hand axis of ordinates indicates the losses, the right-hand axis of ordinates indicates the efficiency, and the axis of abscissas indicates the phase β between the d-axis current and the q-axis current.

In this drawing, reference character “a” denotes a change in magnitude of the efficiency, reference character “b” denotes a change in magnitude of the total loss, reference character “c” denotes a change in magnitude of the iron loss, reference character “d” denotes a change in magnitude of the copper loss, and reference character “e” denotes a change in magnitude of the dq-axis current. In FIG. 6, a point P₁₀ is a point at which the magnitude of the dq-axis current required to achieve the constant torque is minimized (the magnitude of torque/dq-axis current is maximized), a point P₁₁ is a point at which the loss that occurs when achieving the constant torque is minimized (the efficiency is maximized).

As shown in FIG. 6, in the region where the number of revolutions is equal to or less than the basic number of revolutions, the phase between the d-axis current and the q-axis current (current phase) β differs between a “torque/current maximizing control” for minimizing the magnitude of the dq-axis current when achieving the constant torque and a “efficiency maximizing control” for maximizing the efficiency in achieving the constant torque. In general, in the “efficiency maximizing control”, the magnitude of the dq-axis current required to achieve the constant torque is larger than in the “torque/current maximizing control”, because the current is advanced, and the current is consumed for decreasing the iron loss. Therefore, in the case where the dq-axis current that can be supplied is limited, a larger torque can be produced by the “torque/current maximizing control” rather than the “efficiency maximizing control”.

The region in which the “torque/current maximizing control” can be conduced can be expanded by the Ke command calculator 90 appropriately changing the induced voltage constant Ke of the motor 1 according to the torque command Tr_c, the number of revolutions Nm of the motor 1, and the output voltage Vdc of the direct-current power supply.

FIG. 7( a) shows a relationship between the torque and the number of revolutions of the motor 1 in a case where a moderate induced voltage constant Ke is set. In this drawing, the axis of ordinates indicates the torque (Tr), and the axis of abscissas indicates the number of revolutions (Nm). FIG. 7( b) shows relationships between the torque and the number of revolutions of the motor 1 in a case where the induced voltage constant Ke is switched among a maximum value, a moderate value and a minimum value. In this drawing, as in FIG. 7( a), the axis of ordinates indicates the torque (Tr), and the axis of abscissas indicates the number of revolutions (Nm).

In FIG. 7( a), the region A₁₀+B₁₀ (a region defined by the line Tr=Tr₁₀, the boundary y₁₀, the Tr axis and the Nm axis) represents a controllable range of the motor 1 where the motor 1 can be controlled by the “torque/current maximizing control”. The region A₁₀ (a region defined by the line Tr=Tr₁₀, the boundary x₁₀, the Tr axis and the Nm axis) represents a region where the torque is limited by current limitation.

The region B₁₀ (a region defined by the boundary x₁₀, the boundary y₁₀ and the Nm axis) represents a region where the torque is limited by voltage limitation. The region A₁₀+B₁₀+C₁₀ (a region defined by the line Tr=Tr₁₀, the boundary z₁₀, the Tr axis and the Nm axis) represents a controllable range where an “output maximizing control” (a control for expanding the operation range of the motor by applying a field weakening current) is possible.

In FIG. 7( b), the region A₂₀+B₂₀ (a region defined by the line Tr=Tr₂₂, the boundary y₂₀, the Tr axis and the Nm axis) represents a controllable range of the motor 1 where the motor 1 can be controlled by the “torque/current maximizing control” in the case where the maximum induced voltage constant Ke is set. The region A₂₀ (a region defined by the line Tr=Tr₂₂, the boundary x₂₀, the Tr axis and the Nm axis) represents a region where the torque is limited by current limitation. The region B₂₀ (a region defined by the boundary x₂₀, the boundary Y₂₀ and the Nm axis) represents a region where the torque is limited by voltage limitation. The region A₂₀+B₂₀+C₂₀ (a region defined by the line Tr=Tr₂₂, the boundary z₂₀, the Tr axis and the Nm axis) represents a controllable range where the “output maximizing control” is possible in the case where the maximum induced voltage constant Ke is set.

The region A₂₁+B₂₁ (a region defined by the line Tr=Tr₂₁, the boundary y₂₁, the Tr axis and the Nm axis) represents a controllable range of the motor 1 where the motor 1 can be controlled by the “torque/current maximizing control” in the case where the moderate induced voltage constant Ke is set. The region A₂₁ (a region defined by the line Tr=Tr₂₁, the boundary x₂₁, the Tr axis and the Nm axis) represents a region where the torque is limited by current limitation. The region B₂₁ (a region defined by the boundary x₂₁, the boundary y₂₁ and the Nm axis) represents a region where the torque is limited by voltage limitation. The region A₂₁+B₂₁+C₂₁ (a region defined by the line Tr=Tr₂₁, the boundary z₂₁, the Tr axis and the Nm axis) represents a controllable range where the “output maximizing control” is possible in the case where the moderate induced voltage constant Ke is set.

The region A₂₂+B₂₂ (a region defined by the line Tr=Tr₂₀, the boundary y₂₂, the Tr axis and the Nm axis) represents a controllable range of the motor 1 where the motor 1 can be controlled by the “torque/current maximizing control” in the case where the minimum induced voltage constant Ke is set. The region A₂₂ (a region defined by the line Tr=Tr₂₀, the boundary x₂₂, the Tr axis and the Nm axis) represents a region where the torque is limited by current limitation. The region B₂₂ (a region defined by the boundary x₂₂, the boundary y₂₂ and the Nm axis) represents a region where the torque is limited by voltage limitation. The region A₂₂+B₂₂+C₂₂ (a region defined by the line Tr=Tr₂₀, the boundary z₂₂, the Tr axis and the Nm axis) represents a controllable range where the “output maximizing control” is possible in the case where the minimum induced voltage constant Ke is set.

Compared with the case where the induced voltage constant Ke is constant shown in FIG. 7( a), in FIG. 7( b), the controllable range of the motor 1 can be expanded in the direction of increasing the output torque Tr as shown by the arrow Ar2 in the drawing by increasing the induced voltage constant Ke. In addition, the controllable range of the motor 1 can be expanded in the direction of increasing the number of revolutions Nm as shown by the arrow Ar1 in the drawing by decreasing the induced voltage constant Ke.

FIG. 8( a) shows changes in phase between the d-axis current and the q-axis current (referred to as current phase hereinafter) when achieving the constant torque at a point P₂₀ (a point that always lies within the controllable range of the “torque/current maximizing control” in all cases where the maximum, the moderate and the minimum induced voltage constant Ke are set) in FIG. 7( b). The left-hand axis of ordinates indicates the magnitude of the dq-axis current and the loss of the motor 1, the right-hand axis of ordinates indicates the efficiency of the motor 1, and the axis of abscissas indicates the current phase.

In FIG. 8( a), reference character a₁₁ denotes the efficiency in the case of the maximum induced voltage constant Ke, reference character a₁₂ denotes the efficiency in the case of the moderate induced voltage constant Ke, and reference character a₁₃ denotes the efficiency in the case of the minimum induced voltage constant Ke. A point P₃₁ is a point where the efficiency all is at the maximum, a point P₃₂ is a point where the efficiency a₁₂ is at the maximum, and a point P₃₃ is a point where the efficiency a₁₃ is at the maximum.

Reference character b₁₁ denotes the loss in the case of the maximum induced voltage constant, reference character b₁₂ denotes the loss in the case of the moderate induced voltage constant Ke, and reference character b₁₃ denotes the loss in the case of the minimum induced voltage constant Ke. A point P₃₄ is a point where the loss b₁₁ is at the minimum, a point P₃₅ is a point where the loss b₁₂ is at the minimum, and a point P₃₆ is a point where the loss b₁₃ is at the minimum.

Reference character c₁₁ denotes the magnitude of the dq-axis current in the case of the maximum induced voltage constant Ke, reference character c₁₂ denotes the magnitude of the dq-axis current in the case of the moderate induced voltage constant Ke, and reference character c₁₃ denotes the magnitude of the dq-axis current in the case of the minimum induced voltage constant Ke. A point P₃₇ is a point where the magnitude of the dq-axis current c₁₁ is at the minimum, a point P₃₈ is a point where the magnitude of the dq-axis current c₁₂ is at the minimum, and a point P₃₉ is a point where the magnitude of the dq-axis current c₁₃ is at the minimum.

As can be seen from the efficiencies a₁₁ to a₁₃ and the magnitudes of the dq-axis current c₁₁ to c₁₃ in FIG. 8( a), the current phase differs between the setting of the dq-axis current (P₃₁, P₃₂, P₃₃) according to the “efficiency maximizing control” and the setting of the dq-axis current (P₃₇, P₃₈, P₃₉) according to the “torque/current maximizing control”, and the magnitude of the dq-axis current is smaller in the “torque/current maximizing control” than in the “efficiency maximizing control”. In addition, from (P₃₇, P₃₈, P₃₈) it can be seen that the magnitude of the dq-axis current required to achieve the constant torque can be reduced by changing the induced voltage constant Ke.

FIG. 8( b) shows changes in current phase when achieving the constant output torque at a point P₂₁ (a point that always lies outside of the controllable range of the “torque/current maximizing control” in all cases where the maximum, the moderate and the minimum induced voltage constant are set) in FIG. 7( b). As in FIG. 8( a), the left-hand axis of ordinates indicates the magnitude of the dq-axis current and the loss of the motor 1, the right-hand axis of ordinates indicates the efficiency of the motor 1, and the axis of abscissas indicates the current phase.

In FIG. 8( b), reference character a₂₁ denotes the efficiency in the case of the maximum induced voltage constant Ke, reference character a₂₂ denotes the efficiency in the case of the moderate induced voltage constant Ke, and reference character a₂₃ denotes the efficiency in the case of the minimum induced voltage constant Ke. A point P₄₁ is a point where the efficiency a₂₁ is at the maximum, a point P₄₂ is a point where the efficiency a₂₂ is at the maximum, and a point P₄₃ is a point where the efficiency a₂₃ is at the maximum.

Reference character b₂₁ denotes the loss in the case of the maximum induced voltage constant Ke, reference character b₂₂ denotes the loss in the case of the moderate induced voltage constant Ke, and reference character b₂₃ denotes the loss in the case of the minimum induced voltage constant Ke. Reference character c₂₁ denotes the magnitude of the dq-axis current in the case of the maximum induced voltage constant Ke, reference character c₂₂ denotes the magnitude of the dq-axis current in the case of the moderate induced voltage constant Ke, and reference character c₂₃ denotes the magnitude of the dq-axis current in the case of the minimum induced voltage constant Ke. A point P₄₇ is a point where the magnitude of the dq-axis current c₂₁ is at the minimum, a point P₄₈ is a point where the magnitude of the dq-axis current c₂₂ is at the minimum, and a point P₄₉ is a point where the magnitude of the dq-axis current c₂₃ is at the minimum.

Also in FIG. 8( b), as can be seen from the efficiencies a₁₁ to a₁₃ and the magnitudes of the dq-axis current c₁₁ to c₁₃, the current phase differs between the setting of the dq-axis current (P₄₁, P₄₂, P₄₃) according to the “efficiency maximizing control” and the setting of the dq-axis current (P₄₇, P₄₈, P₄₉) according to the “torque/current maximizing control”. Furthermore, it can be seen that, although not as significant as shown in FIG. 8( a), the magnitude of the dq-axis current is smaller in the “torque/current maximizing control” than in the “efficiency maximizing control”. Furthermore, from the setting (P₄₇, P₄₈, P₄₉), it can be seen that the magnitude of the dq-axis current required to achieve the constant torque can be reduced by changing the induced voltage constant Ke.

Now, with reference to FIGS. 9 to 11, a procedure of creating the correlation map used in STEP 2 in FIG. 5 will be described. FIG. 9 shows a procedure of creating an optimal Ke map for determining an optimal induced voltage constant Ke for each output voltage Vdc of the direct-current power supply in the case where the output voltage Vdc is switched in three steps (Vdc=V1, V2, V3).

In FIG. 9, steps S1 and S2 are processings of creating an optimal Ke map for the output voltage Vdc=V1. In step S1, for each induced voltage constant Ke (Ke=Ke1, Ke2, Ke3 and Ke4, where Ke4<Ke3<Ke2<Ke1), a dq current map is created in which the dq-axis current is plotted while changing the torque Tr and the number of revolutions Nm of the motor 1.

Specifically, as shown in FIG. 10( a), a dq current map M₁₁ is created by plotting the dq-axis current while changing the number of revolutions Nm and the output torque Tr under the conditions that Vdc=V1 and Ke=Ke1. The plotting is conducted by experiment or computer simulation.

Similarly, a dq current map M₁₂ is created under the conditions that Vdc=V1 and Ke=Ke2, a dq current map M₁₃ is created under the conditions that Vdc=V1 and Ke=Ke3, and a dq current map M₁₄ is created under the conditions that Vdc=V1 and Ke=Ke4. Then, the four dq current maps M₁₁, M₁₂, M₁₃ and M₁₄ created in this way are compared in S2, and an optimal Ke map KM1 is created by selecting the induced voltage constant Ke for which the magnitude of the dq-axis current is at the minimum for each plotted point (torque Tr, number of revolutions Nm).

As shown in FIG. 10( b), the optimal Ke map KM1 determines the induced voltage constant Ke for which the dq-axis current is at the minimum with respect to the torque Tr and the number of revolutions Nm. For example, for a point (Tr, Nm)=(Tr₁₀, Nm₁₀) in the drawing, the induced voltage constant Ke=Ke1 is determined.

Steps S3 and S4 are processings of creating an optimal Ke map for the output voltage Vdc=V2. As in steps S1 and S2 described above, in step S3, a dq current map M₂₁ is created under the conditions that Vdc=V2 and Ke=Ke1, a dq current map M₂₂ is created under the conditions that Vdc=V2 and Ke=Ke2, a dq current map M₂₃ is created under the conditions that Vdc=V2 and Ke=Ke3, and a dq current map M₂₄ is created under the conditions that Vdc=V2 and Ke=Ke4, and in step S4, an optimal Ke map KM2 under the condition that Vdc=V2 is created.

Steps S5 and S6 are processings of creating an optimal Ke map for the output voltage Vdc=V3. As in steps S1 and S2 and steps S3 and S4 described above, in step S5, a dq current map M₃₁ is created under the conditions that Vdc=V3 and Ke=Ke1, a dq current map M₃₂ is created under the conditions that Vdc=V3 and Ke=Ke2, a dq current map M₃₃ is created under the conditions that Vdc=V3 and Ke=Ke3, and a dq current map M₃₄ is created under the conditions that Vdc=V3 and Ke=Ke4, and in step S6, an optimal Ke map KM3 under the condition that Vdc=V3 is created.

Through the steps S1 to S6 in FIG. 9 described above, as shown in FIG. 11( a), there is created a correlation map composed of the optimal Ke map KM1 for the output voltage Vdc=V1, the optimal Ke map KM2 for the output voltage Vdc=V2, and the optimal Ke map KM3 for the output voltage Vdc=V3. FIG. 11( b) shows an exemplary setting of the induced voltage constant Ke according to the optimal Ke maps KM1, KM2 and KM3. In this drawing, the axis of ordinates indicates the torque Tr (power running torque and regeneration torque), and the axis of abscissas indicates the number of revolutions Nm.

In FIG. 11( b), reference character D1 denotes a region in which the induced voltage constant Ke1 is selected, reference character D2 denotes a region in which the induced voltage constant Ke2 is selected, reference character D3 denotes a region in which the induced voltage constant Ke3 is selected, and reference character D4 denotes a region in which the induced voltage constant Ke4 is selected. In this way, by successively decreasing the induced voltage constant (Ke1→Ke2→Ke3→Ke4) as the number of revolutions of the motor 1 increases, the controllable range of the motor 1 can be expanded.

As an alternative to the correlation map, the optimal Ke, for which the magnitude of the dq-axis current is at the minimum, can be determined by calculating the dq-axis current required under the given condition of the power supply voltage Vdc, the torque command Tr_c and the number of revolutions Nm for each induced voltage constant Ke (Ke=Ke1, Ke2, Ke3, Ke4). FIG. 12 is a flowchart illustrating a process of determining the optimal Ke by calculating the dq-axis current in this way.

In the flowchart of FIG. 12, first in STEP 10, the output voltage Vdc of the direct-current power supply, the torque command Tr_c and the number of revolutions Nm are obtained. Then, a loop from STEP 11 to STEP 15 is carried out for Ke(n)=Ke(1), Ke(2), Ke(3), Ke(4). In STEP 12, the current command values (Id_c(n), Iq_c(n)) are calculated for the values Vdc, Tr_c, Nm and K(n) in the same manner as in the case of the current command calculator 50 described later. In the following STEP 13, the output torque Tr(n) for the current command values Ke(n), Id_c(n) and Iq_c(n) is calculated, and in STEP 14, the values Tr(n), Id_c(n) and Iq_c(n) are stored in a memory (not shown).

Then, in STEP 16, the optimal Ke, for which the output torque Tr(n) is at the maximum, and the magnitude of the dq-axis current (a vector sum of the current command values Id_c(n) and Iq_c(n)) is at the maximum, is determined. Thus, as in the case of the search using the optimal Ke maps described above, the induced voltage constant Ke for which the magnitude of the dq-axis current is at the minimum for the torque command Tr_c can be determined.

Then, in STEP 3 in FIG. 5, the Ke command calculator 90 outputs the optimal Ke determined in STEP 2 to the phase difference controller 80 (see FIG. 1) as the command value Ke_c of the induced voltage constant. The following STEP 4 is a processing carried out by the phase difference controller 80, and the phase difference controller 80 applies the value Ke_c to a Ke/θd conversion map shown in FIG. 13, thereby determining the corresponding value θd as the command value θd_c of the rotor phase difference. The Ke/θd map is created by experiment or computer simulation, and data of the Ke/θd map is previously stored in a memory.

Then, the phase difference controller 80 outputs the command value θd_c of the rotor phase difference to the actuator 25. In response to this, the actuator 25 adjusts the rotor phase difference of the motor 1 to θd_c, and, in this way, the induced voltage constant Ke of the motor 1 is adjusted to the optimal Ke.

The following STEP 5 is a processing carried out by the current command calculator 50 (see FIG. 1). Basically, the current command calculator 50 calculates the command value Id_c of the d-axis current and the command value Iq_c of the q-axis current by the “torque/current maximizing control” and outputs the results to the subtracters 51 and 52 (see FIG. 1).

First, with reference to FIGS. 14 to 21, a basic idea of the calculation process of the command value Id_c of the d-axis current and the command value Iq_c of the q-axis current by the current command calculator 50 will be described. Supposing that reference character Ψa denotes the flux linkage for the optimal Ke calculated by the Ke command calculator 90, the torque of the motor 1 can be expressed by the following formula (1).

$\begin{matrix} \left\lbrack {{Formula}\mspace{20mu} 1} \right\rbrack & \; \\ \begin{matrix} {{Tr} = {P_{n}\left\lbrack {{\psi_{a} \cdot {Id}} + {\left( {{Ld} - {Lq}} \right){{Id} \cdot {Iq}}}} \right\rbrack}} \\ {= {P_{n}\left\lbrack {{{\psi_{a} \cdot I}\;\cos\;\beta} + {\frac{1}{2}\left( {{Lq} - {Ld}} \right)I^{2}\sin\; 2\;\beta}} \right\rbrack}} \end{matrix} & (1) \end{matrix}$

In this formula, “P_(n)” represents the number of pairs of poles, “Ψ_(a)” represents the flux linkage for the optimal Ke, “Id” represents the value of the d-axis current, “Iq” represents the value of the q-axis current, “Ld” represents the inductance of the d-axis armature, “Lq” represents the inductance of the q-axis armature, “β” represents the current phase, “I” represents the magnitude of the dq-axis current (I=√{square root over ( )}(Id²+Iq²), Id=I sin β, Iq=I cos β).

Partial differentiation with respect to the current phase β is performed on the formula (1), and the resulting formula is solved by supposing that the formula equals to 0 about β. Then, the current phase β for which the torque Tr is at the maximum with respect to the dq-axis current Idq can be determined by the following formula (2).

$\begin{matrix} \left\lbrack {{Formula}\mspace{20mu} 2} \right\rbrack & \; \\ {\beta = {\sin^{- 1}\left( \frac{{- \psi_{a}} + \sqrt{\psi_{a}^{2} + {8\left( {{Lq} - {Ld}} \right)^{2}I^{2}}}}{4\left( {{Lq} - {Ld}} \right)I} \right)}} & (2) \end{matrix}$

The formula (2) gives a relationship between the d-axis current Id and the q-axis current Iq that provide the maximum torque for the optimal Ke, and the relationship is expressed by the following formula (3).

$\begin{matrix} \left\lbrack {{Formula}\mspace{20mu} 3} \right\rbrack & \; \\ {{Id} = {\frac{\psi_{a}}{2\left( {{Lq} - {Ld}} \right)} - \sqrt{\frac{\psi_{a}^{2}}{4\left( {{Lq} - {Ld}} \right)} + {Iq}^{2}}}} & (3) \end{matrix}$

FIG. 14( a) shows a dq-coordinate system, in which the axis of ordinates indicates the q-axis current, and the axis of abscissas indicates the d-axis current. FIG. 14(a) shows constant torque curves T₁₀, T₁₁, T₁₂ and T₁₃ that represent combinations of values Id and Iq that provide torque values Tr of Tr₁₀, Tr₁₁, Tr₁₂ and Tr₁₃, a maximum torque/current curve Q₁₀ that represents a combination of values Id and Iq according to the “torque/current maximizing control” that satisfies the relationship of the formula (3), a current limitation circle AM (a circle for which Id²+Iq²=Iam², where “Iam” represents a limited current), and constant induced voltage ellipses N₁₀, N₁₁ and N₁₂ that represent combinations of values Id and Iq for which the dq induced voltage V0, which is a vector sum of the induced voltage produced in the d-axis armature and the induced voltage produced in the q-axis armature, equals to a limited voltage V_(0m) in cases where the angular velocity ω calculated from a formula (8) described later equals to ω₁₀, ω₁₁ and ω₁₂(ω₁₀<ω₁₁<ω₁₂) .

If the combination of the d-axis current and the q-axis current that satisfies the formula (3) can be calculated in a region that lies within a constant induced voltage ellipse corresponding to the angular velocity ω of the motor 1 and the current limitation circle AM, that is, if there are no limitations by the limited voltage V_(0m) and the limited current Iam, the d-axis current can be set at the command value Id_c thereof, and the q-axis current can be set at the command value Iq_c thereof. In FIG. 14( a), as the torque sequentially increases from Tr₁₀ to Tr₁₃ (Tr₁₀→Tr₁₁→Tr₁₂→Tr₁₃), a combination of the d-axis current and the q-axis current that make the magnitude of the dq-axis current required to produce each torque minimum can be calculated at points P₅₁, P₅₂, P₅₃ and P₅₄ in this order on the maximum torque/current curve Q₁₀ represented by the formula (3), and the “torque/current maximizing control” can be carried out.

FIG. 14( b) shows the relationship shown in FIG. 14( a), in which the axis of ordinates indicates the torque (Tr), and the axis of abscissas indicates the angular velocity (ω). In this drawing, a region B₅₀ (a region defined by the line Tr=Tr₁₃, the boundary y₅₀, the Tr axis and the ω axis) represents a controllable range where the “torque/current maximizing control” is possible. A region C₅₀ (a region defined by the line Tr=Tr₁₃, the boundary z₅₀, the Tr axis and the ω axis) represents a controllable range where the “output maximizing control” based on the field weakening control is possible.

Referring to FIG. 14( b), within a range where the torque Tr is equal to or less than Tr₁₃, and the angular velocity ω is equal to or less than ω₁₂, combinations of the d-axis current Id and the q-axis current Iq that satisfies the formula (3) can be calculated sequentially at the points P₅₁, P₅₂, P₅₃ and P₅₄ in this order as the torque Tr increases.

FIG. 15( a) shows an equivalent circuit of the d-axis armature of the motor 1, and FIG. 15( b) shows an equivalent circuit of the q-axis armature. In this case, voltage equations can be expressed by the following formulas (4) and (5).

$\begin{matrix} \left\lbrack {{Formula}\mspace{20mu} 4} \right\rbrack & \; \\ {\begin{bmatrix} {Vd} \\ {Vq} \end{bmatrix} = {{\begin{bmatrix} {Ra} & 0 \\ 0 & {Ra} \end{bmatrix}\begin{bmatrix} {Id} \\ {Iq} \end{bmatrix}} + \begin{bmatrix} {Vod} \\ {Voq} \end{bmatrix} + {{p\begin{bmatrix} {Ld} & 0 \\ 0 & {Lq} \end{bmatrix}}\begin{bmatrix} {Id} \\ {Iq} \end{bmatrix}}}} & (4) \\ \left\lbrack {{Formula}\mspace{20mu} 5} \right\rbrack & \; \\ {\begin{bmatrix} {Vod} \\ {Voq} \end{bmatrix} = {{\begin{bmatrix} 0 & {{- \omega}\;{Lq}} \\ {\omega\;{Ld}} & 0 \end{bmatrix}\begin{bmatrix} {Id} \\ {Iq} \end{bmatrix}} + \begin{bmatrix} 0 \\ {\omega\psi}_{a} \end{bmatrix}}} & (5) \end{matrix}$

In these formulas, “Ra” and “Rc” represents the resistance of the d-axis armature and the q-axis armature, “Ld” represents the inductance of the d-axis armature, “Lq” represents the inductance of the q-axis armature, and “ωΨa” represents the back electromotive force produced in the q-axis armature.

From the formulas (4) and (5), the following formulas (6) and (7) can be derived.

[Formula 6] V _(o)=√{square root over (Vod ² +Voq ²)}=ω√{square root over ((LdId+ψ _(a))²+(LqIq)²)}{square root over ((LdId+ψ _(a))²+(LqIq)²)}  (6)

In this formula, “V₀” represents the dq induced voltage (the magnitude of the vector sum of the induced voltage produced in the d-axis armature and the induced voltage produced in the q-axis armature), “V_(0d)” represents the induced voltage produced in the d-axis armature, “V_(0q)” represents the induced voltage produced in the q-axis armature, and “ω” represents the angular velocity of the motor.

[Formula 7] V _(a)=√{square root over (Vd ² +Vq ²)}=√{square root over ((RaId−ωLqIq)²+(RaIq+ωLdId+ωψ _(a))²)}{square root over ((RaId−ωLqIq)²+(RaIq+ωLdId+ωψ _(a))²)}  (7)

In this formula, “V_(a)” represents the magnitude of the vector sum of the d-axis voltage and the q-axis voltage.

In this case, the controllable range of the motor can be expanded by reducing the dq voltage V₀ to the limited voltage V_(0m) or lower by the field weakening control. The following formula (8) is derived by substituting the value V₀=V_(0m) into the formula (6).

$\begin{matrix} \left\lbrack {{Formula}\mspace{20mu} 8} \right\rbrack & \; \\ {{\left( {{LdId} + \psi_{a}} \right)^{2} + ({LqIq})^{2}} = \left( \frac{Vom}{\omega} \right)^{2}} & (8) \end{matrix}$

The formula (8) is represented by an ellipse (referred to as constant induced voltage ellipse hereinafter) on the dq coordinate system. The diameter of the constant induced voltage ellipse decreases as the velocity of the motor 1 increases. FIG. 15( c) shows a dq coordinate system showing constant torque curves T₂₀ (Tr=Tr₂₀), T₂₁ (Tr=Tr₂₁) and T₂₂ (Tr=Tr₂₂) that represent combinations of values Id and Iq for which the torque Tr is constant, constant induced voltage ellipses N₂₀ (ω=ω₂₀), N₂₁ (ω=ω₂₁) and N₂₂ (ω=ω₂₂), and a maximum torque/magnetic flux curve R₁₀.

For example, in a case where the angular velocity ω of the motor 1 equals to a constant value ω₂₀ (ω=ω₂₀), the vector (Id, Iq) representing the dq-axis current moves from a point P₆₀ to a point P₆₁ and then from the point P₆₁ to a point P₆₂ on the constant induced voltage ellipse N₂₀ (ω=ω₂₀) as the load increases. According to the formula (8), if the angular velocity ω and the q-axis current Iq are given, the d-axis current Id can be calculated from the following formulas (9) and (10).

$\begin{matrix} \left\lbrack {{Formula}\mspace{20mu} 9} \right\rbrack & \; \\ {{Id} = \frac{{- \psi_{a}} + \sqrt{\left( \frac{Vom}{\omega} \right)^{2} - ({LqIq})^{2}}}{Ld}} & (9) \\ \left\lbrack {{Formula}\mspace{20mu} 10} \right\rbrack & \; \\ {{Id} = \frac{{- \psi_{a}} - \sqrt{\left( \frac{Vom}{\omega} \right)^{2} - ({LqIq})^{2}}}{Ld}} & (10) \end{matrix}$

Because of the two formulas (9) and (10), two values Id can be calculated for one value Iq. Of the two values, the value for which the magnitude of the dq-axis current is smaller is preferable. Thus, at the points P₆₀, P₆₁ and the like in FIG. 15( c), the d-axis current Id is calculated by the formula (9). And, after the d-axis current Id becomes equal to −Ψa/Ld (Id=−Ψa/Ld) as the load increases, the d-axis current Id is calculated by the formula (10). When the vector (Id, Iq) representing the dq-axis current reaches the intersection P₆₂ with the maximum torque/magnetic flux curve R₁₀, the torque reaches the maximum.

FIG. 16( a) is the same as FIG. 14( a) further including the maximum torque/magnetic flux curve R₁₀. In this case, the torque/current maximizing control (a range from P₅₀ to P₅₄) and the field weakening control (a range from P₅₄ to P₅₇) are possible within the region inside the current limitation circle AM.

Methods of calculating the current command values (Id_c, Iq_c) to be set under the various conditions described above can be summarized as follows.

[Torque/Current Maximizing Control Region]

In a low-velocity operating region where the dq induced voltage V₀ is low, there is a sufficient voltage allowance with respect to the limited voltage V_(0m), and therefore, only the limited current Iam needs to be considered. To achieve the dq-axis current that maximizes the value of torque/current, the current command value (Id_c, Iq_c) can be calculated under the condition of the formula (3).

The relationship between the d-axis current Id and the q-axis current Iq in the “torque/current maximizing control” is represented by the maximum torque/current curve Q₁₀ shown in FIG. 16( a). The produced torque is maximized when the magnitude of the dq-axis current is I=Iam, and the operating point at this moment is the intersection P₅₄ of the maximum torque/current curve Q₁₀ and the current limitation circle AM. The d-axis current Ida and the q-axis current Iqa at the point P₅₄ can be calculated by the following formulas (11) and (12).

$\begin{matrix} \left\lbrack {{Formula}\mspace{20mu} 11} \right\rbrack & \; \\ {{Ida} = {\frac{\psi_{a}}{4\left( {{Lq} - {Ld}} \right)} - \sqrt{\frac{\psi_{a}^{2}}{16\left( {{Lq} - {Ld}} \right)^{2}} + \frac{{Iam}^{2}}{2}}}} & (11) \\ \left\lbrack {{Formula}\mspace{20mu} 12} \right\rbrack & \; \\ {{Iqa} = \sqrt{{Iam}^{2} - {Ida}^{2}}} & (12) \end{matrix}$

The armature flux linkage Ψ_(0a) at this moment can be calculated by the following formula (13), and the electrical angular velocity ω_(base) at which the dq induced voltage V0 (=ωΨ_(0a)) reaches the limited voltage V_(0m) can be calculated by the following formula (14).

$\begin{matrix} \left\lbrack {{Formula}\mspace{20mu} 13} \right\rbrack & \; \\ {\psi_{oa} = \sqrt{\left( {\psi_{a} + {{Ld} \cdot {Ida}}} \right)^{2} + \left( {{Lq} \cdot {Iqa}} \right)^{2}}} & (13) \\ \left\lbrack {{Formula}\mspace{20mu} 14} \right\rbrack & \; \\ {\omega_{base} = \frac{Vom}{\psi_{oa}}} & (14) \end{matrix}$

Referring to FIG. 16( a), the constant voltage limitation ellipse N₁₀ also intersects with the maximum torque/current curve Q₁₀ and the current limitation circle AM at the intersection P₅₄, so that ω₁₀=ω_(base), and the current vector (Id, Iq) cannot be adjusted to the point P₅₄ at an angular velocity equal to or higher than ω₁₀. In this case, a “constant torque operating region” is up to the upper limit ω_(base) of the angular velocity (base velocity) at which the motor 1 can produce the maximum torque. In the “constant torque operating region”, the magnitude of the dq-axis current I=Iam, and the dq induced voltage V₀<V_(0m).

FIG. 16( b) is a diagram showing the content of FIG. 16( a), in which the axis of ordinates indicates the torque (Tr), and the axis of abscissas indicates the angular velocity (ω). The “constant torque operating region” spans the range of ω=0 to ω₁₀.

[First Equivalent Field Weakened Region]

In a velocity region where the angular velocity is higher than ω_(base), not only the limited current Iam but also the limited voltage V_(0m) has to be considered. Taking into account only the limited voltage V_(0m), the torque is maximized by a “torque/magnetic flux maximizing control”. In the “torque/magnetic flux maximizing control”, since the limitation of the limited current Iam is not taken into account, the application range is limited if the limitation of the limited current Iam is taken into account. That is, in the range where the maximum torque/magnetic flux curve R₁₀ does not lie inside the current limitation circle AM in FIG. 16( a), the “torque/magnetic flux maximizing control” cannot be applied.

In the velocity region where the operation at the point P₅₄ (the “torque/current maximizing control” for Idq=Iam) and the “torque/magnetic flux maximizing control” are impossible, the produced torque is maximized when the current vector is adjusted to the intersection P₅₅ (in the case where ω=ω₁₁) or P₅₆ (in the case where ω=ω₁₂) of the current limitation circle AM and the constant voltage limitation ellipse. In this case, the d-axis current Idb and the q-axis current Iqb can be calculated by the following formulas (15) and (16).

$\begin{matrix} \left\lbrack {{Formula}\mspace{20mu} 15} \right\rbrack & \; \\ {{Idb} = \frac{{\psi_{a}{Ld}} - \sqrt{\left( {\psi_{a}{Lq}} \right)^{2} + {\left( {{Lq}^{2} - {Ld}^{2}} \right)\left\{ {({LaIam})^{2} - \left( \frac{Vom}{\omega} \right)^{2}} \right\}}}}{{Lq}^{2} - {Ld}^{2}}} & (15) \\ \left\lbrack {{Formula}\mspace{20mu} 16} \right\rbrack & \; \\ {{Iqb} = \sqrt{{Iam}^{2} - {Idb}^{2}}} & (16) \end{matrix}$

This control mode corresponds to a case where the dq-axis current Idq is equal to the limited current Iam in the equivalent field weakening control, and the magnitude I of the dq-axis current is always equal to Iam (I=Iam), and the dq induced voltage V₀ is always equal to V_(0m) (V₀=V_(0m)).

FIG. 17( a) shows a maximum torque/current curve Q₂₀, a maximum torque/magnetic flux curve R₂₀, a current limitation circle AM and constant induced voltage ellipses N₂₀ (ω=ω₂₀), N₂₁ (ω=ω₂₁) and N₂₂ (ω=ω₂₂) plotted on a dq coordinate system. FIG. 17( b) shows the content of FIG. 17( a), in which the axis of ordinates indicates the torque (Tr), and the axis of abscissas indicates the angular velocity (ω).

In the case where Ψdmin=Ψa−LdIam≧0, as shown in FIG. 17( a), the maximum torque/magnetic flux curve R₂₀ lies outside of the current limitation circle AM, and therefore, the “torque/magnetic flux maximizing control” cannot be applied. Therefore, at the angular velocity ω₂₂ at which the constant voltage limitation ellipse N₂₂ is in contact with the current limitation circle AM, the current vector (Id, Iq) reaches a point Pc (Id=−Iam, Iq=0), and the output torque of the motor 1 reaches 0 (output limit). The angular velocity ω_(c) (ω₂₂ in FIG. 17( a)) at which the output limit is reached can be calculated by the following formulas (17) and (18).

$\begin{matrix} \left\lbrack {{Formula}\mspace{20mu} 17} \right\rbrack & \; \\ {\omega_{c} = {\frac{Vom}{\psi_{a} - {LdIam}} = \frac{Vom}{\psi_{d\mspace{11mu}\min}}}} & (17) \\ \left\lbrack {{Formula}\mspace{20mu} 18} \right\rbrack & \; \\ {\psi_{d\mspace{14mu}\min} = {\psi_{a} - {LdIam}}} & (18) \end{matrix}$ [Second Equivalent Field Weakening Control]

Similarly to FIG. 17( a), FIG. 18( a) shows a maximum torque/current curve Q₃₀, a maximum torque/magnetic flux curve R₃₀, a current limitation circle AM and constant induced voltage ellipses N₃₀ (ω=ω₃₀) and N₃₁ (ω=ω₃₁) plotted on a dq coordinate system. FIG. 18( b) shows the content of FIG. 18( a), in which the axis of ordinates indicates the torque (Tr), and the axis of abscissas indicates the angular velocity (ω).

In the case where Ψ_(dmin)=Ψa−LdIam<0, as shown in FIG. 18( a), the maximum torque/magnetic flux curve R₃₀ lies within the current limitation circle AM, and therefore, the “torque/magnetic flux maximizing control” is possible in a high velocity region. In order to achieve the maximum torque output taking into account only the limitation of the limited voltage V_(0m) when there is no limitation of the limited current Iam, the “torque/magnetic flux maximizing control” can be applied. In this case, the current vector (Id, Iq) can be calculated as the intersection of the maximum torque/magnetic flux curve R₃₀ and the constant induced voltage ellipse N₃₁ from the functions with respect to the angular velocity ω expressed by the following formulas (19) to (21).

$\begin{matrix} \left\lbrack {{Formula}\mspace{20mu} 19} \right\rbrack & \; \\ {{Idc} = {- \frac{\psi_{a} + {\Delta\;\psi_{d}}}{Ld}}} & (19) \\ \left\lbrack {{Formula}\mspace{20mu} 20} \right\rbrack & \; \\ {{Iqc} = \frac{\sqrt{\left( \frac{Vom}{\omega} \right)^{2} - \left( {\Delta\psi}_{d} \right)^{2}}}{Lq}} & (20) \\ \left\lbrack {{Formula}\mspace{20mu} 21} \right\rbrack & \; \\ {{\Delta\psi}_{d} = \frac{{{- {Lq}}\;\psi_{a}} + \sqrt{\left( {{Lq}\;\psi_{a}} \right)^{2} + {8\left( {{Lq} - {Ld}} \right)^{2}\left( \frac{Vom}{\omega} \right)^{2}}}}{4\left( {{Lq} - {Ld}} \right)}} & (21) \end{matrix}$

In this case, the calculated current vector (Id, Iq)=(Idc, Iqc) moves toward a point M on the maximum torque/magnetic flux curve R₃₀ in FIG. 18( a) as the velocity increases. In the case where Ψ_(dmin)=Ψa−LdIam<0, as shown in FIG. 18( a), the point M lies within the current limitation circle AM, and therefore, the maximum output can be achieved by adjusting the current vector to the intersection of the maximum torque/magnetic pole curve and the voltage limitation ellipse N₃₁ in a high velocity region equal to or higher than the velocity ω_(d) (=ω₃₁) at which the constant voltage limitation ellipse N₃₁ intersects with the intersection Pd of the maximum torque/magnetic flux curve R and the current limitation circle AM. In this control mode, the values Idq and Vdq satisfy the following relationships: Idq<Iam, and V₀=V_(0m).

FIG. 18( b) shows the content of FIG. 18( a), in which the axis of ordinates indicates the torque (Tr), and the axis of abscissas indicates the angular velocity (ω). In FIG. 18( b), the range in which the current vector (Id, Iq) can be calculated is expanded compared with FIG. 17( b).

Based on the above description, with reference to the flowcharts of FIGS. 19 to 21, there will be described a process of setting current command values (a command value Id_c of the d-axis current and a command value Iq_c of the q-axis current), which is carried out by the current command calculator 50 in STEP 5 in FIG. 5.

In STEP 20 in FIG. 19, the current command calculator 50 calculates the limited voltage V_(0m) from the output voltage Vdc of the direct-current power supply, calculates the angular velocity ω of the motor 1 from the number of revolutions Nm of the motor 1 calculated by the differentiator 71 (see FIG. 1), and calculates the flux linkage Ψa for the optimal Ke calculated by the Ke command calculator 90.

Then, in the following STEP 21, the torque command Tr_c and the flux linkage Ψa calculated in STEP 20 are substituted into the formulas (1) to (3), thereby calculating a first dq current setting (Id1, Iq1). In STEP 22, the dq induced voltage V₀ (which corresponds to a dq determination voltage according to the present invention) is calculated from the formula (6) on the assumption that (Id, Iq)=(Id1, Iq1).

In the following STEP 23, the current command calculator 50 determines whether the dq induced voltage V₀ is equal to or lower than the limited voltage V_(0m) or not. If the dq induced voltage V₀ is equal to or lower than the limited voltage V_(0m), the process proceeds to STEP 24. If the dq induced voltage V₀ is higher than the limited voltage V_(0m), the process branches to STEP 40 in FIG. 20.

In the following STEP 24, it is determined whether the magnitude (√{square root over ( )}(Id1 ²+Iq1 ²)) of the dq-axis current according to the first dq current setting is equal to or lower than the limited current Iam or not. If the magnitude of the dq-axis current is equal to or lower than the limited current Iam, the process proceeds to STEP 25. If the magnitude of the dq-axis current is higher than the limited current Iam, the process branches to STEP 30.

In the case where the process proceeds to STEP 25, there is an operational condition that there are no limitations by the limited voltage V_(0m) and the limited current Iam, the “torque/current maximizing control” can be carried out. Therefore, in STEP 25, the current command calculator 50 designates the first dq current setting (Id1, Iq1) calculated in STEP 21 as the command values (Id_c, Iq_c) of the d-axis current and the q-axis current. Then, the process proceeds to STEP 26, the current command calculator 50 ends the calculation of the current command values.

In the case where the process branches to STEP 30, there is an operational condition that there is a limitation of the limited current Iam although there is no limitation of the limited current V_(0m). Thus, in STEP 30, the current command calculator 50 calculates a second dq current setting (Id2, Iq2) that maximizes the output torque with the limited current Iam in the “torque/current maximizing control” from the formulas (11) and (12). Then, in STEP 31, the current command calculator 50 designates the second dq current setting (Id2, Iq2) calculated in STEP 30 as the command values (Id_c, Iq_c) of the d-axis current and the q-axis current, and then, the process proceeds to STEP 26, and the calculation of the current command values is ended.

Then, in STEP 40 in FIG. 20, the current command calculator 50 determines whether a third dq current setting (Id3, Iq3) can be calculated from the formulas (9) and (10) or not based on whether the relation expressed by the following formula (22) holds or not.

$\begin{matrix} \left\lbrack {{Formula}\mspace{20mu} 22} \right\rbrack & \; \\ {{{Iq}} \leqq \frac{Vom}{\omega\;{Lq}}} & (22) \end{matrix}$

Then, if the condition of the formula (22) is met, the process proceeds to STEP 41. If the condition of the formula (22) is not met, the process branches to STEP 70 in FIG. 21.

In STEP 41, the current command calculator 50 calculates the third dq current setting (Id3, Iq3) that maximizes the output torque at the limited voltage V_(0m) from the formulas (9) and (10). Then, in the following STEP 42, the current command calculator 50 determines whether or not the magnitude (√{square root over ( )}(Id3 ²+Iq3 ²)) of the dq-axis current according to the third dq current setting (which corresponds to a second dq determination current according to the present invention) is equal to or lower than the limited current Iam.

If the magnitude (√{square root over ( )}(Id3 ²+Iq3 ²)) of the dq-axis current according to the third dq current setting is equal to or lower than the limited current Iam, the process proceeds to STEP 43. In STEP 43, the current command calculator 50 designates the third dq current setting (Id3, Iq3) as the current command values (Id_c, Iq_c), the process proceeds to STEP 26 in FIG. 19, and the setting of the current command values is ended.

On the other hand, if the magnitude (√{square root over ( )}(Id3 ²+Iq3 ²)) of the dq-axis current according to the third dq current setting is higher than the limited current Iam in STEP 42, the process branches to STEP 50. In this case, there is an operational condition that there are limitations by the limited voltage V_(0m) and the limited current Iam. In STEP 50, the current command calculator 50 determines whether a fourth dq current setting can be calculated from the formulas (15) and (16) or not based on whether the relation expressed by the following formula (23) holds or not.

$\begin{matrix} \left\lbrack {{Formula}\mspace{20mu} 23} \right\rbrack & \; \\ {{\left( {\psi_{a}{Lq}} \right)^{2} + {\left( {{Lq}^{2} - {Ld}^{2}} \right)\left\{ {({LqIam})^{2} - \left( \frac{Vom}{\omega} \right)^{2}} \right\}}} \geqq 0} & (23) \end{matrix}$

Then, if the condition of the formula (23) is met, the process proceeds to STEP 51. If the condition of the formula (23) is not met, the process branches to STEP 60.

In STEP 51, the current command calculator 50 calculates the fourth dq current setting (Id4, Iq4) that is the intersection of the current limitation circle and the constant induced voltage ellipse from the formulas (15) and (16). Then, in the following STEP 52, the current command calculator 50 designates the fourth dq current setting (Id4, Iq4) as the current command values (Id_c, Iq_c), the process proceeds to STEP 26 in FIG. 19, and the setting of the current command values is ended.

In STEP 60, the current command calculator 50 sets the current command values (Id_c, Iq_c) as expressed by the following formulas (24) and (25), the process proceeds to STEP 26 in FIG. 19, and the setting of the current command values is ended. Id=−Iam  [Formula 24] Iq=0  [Formula 25 ]

In the case where the process branches to STEP 70 in FIG. 21, there is an operational condition that the dq induced voltage V₀ is higher than the limited voltage V_(0m), and the third dq current setting (Id3, Iq3) cannot be calculated form the formulas (9) and (10). In this case, the current command calculator 50 calculates a fifth dq current setting (Id5, Iq5), which specifies the d-axis current and the q-axis current at the intersection of the maximum torque/magnetic flux curve and the constant induced voltage ellipse, from the formulas (19) to (21).

In the following STEP 71, the current command calculator 50 determines whether or not the magnitude (√{square root over ( )}(Id5 ²+Iq5 ²)) of the dq-axis current according to the fifth dq current setting (Id5, Iq5) is equal to or lower than the limited current Iam. If the magnitude (√{square root over ( )}(Id5 ²+Iq5 ²)) of the dq-axis current according to the fifth dq current setting (Id5, Iq5) is equal to or lower than the limited current Iam, the process proceeds to STEP 72. In STEP 72, the current command calculator 50 designates the fifth dq current setting (Id5, Iq5) as the current command values (Id_c, Iq_c), the process proceeds to STEP 26 in FIG. 19, and the setting of the current command values is ended.

On the other hand, if the magnitude (√{square root over ( )}(Id5 ²+Iq5 ²)) of the dq-axis current according to the fifth dq current setting is higher than the limited current Iam in STEP 71, the process branches to STEP 50. Then, the current command calculator 50 sets the current command values (Id_c, Iq_c) through STEP 50 to STEP 52, or through STEP 50 to STEP 60 described above.

In this embodiment, as shown in the flowchart of FIG. 5, the rotor phase difference is adjusted according to the optimal Ke through STEPS 1 to 4, and then, the current command values (Id_c, Iq_c) are set based on the optimal Ke in STEP 5. However, the advantage of the present invention can be provided even if the processing of STEP 5 is not carried out.

In this embodiment, as shown in the flowcharts of FIGS. 19 to 21, the current command values (Id_c, Iq_c) are calculated based on the first dq current setting, the second dq current setting, the third dq current setting, the fourth dq current setting and the fifth dq current setting. However, the advantage of the present invention can be provided even if the current command values (Id_c, Iq_c) are calculated based on any of only the first dq current setting, only the first dq current setting and the second current setting, only the third dq current setting, only the third dq current setting and the fourth dq current setting, only the fourth dq current setting, or only the fourth dq current setting and the fifth current setting.

In this embodiment, as shown in FIG. 1, the phase detector 26 detects the rotor phase difference, and the detection value Ke_s of the induced voltage constant is calculated from the detection value θd_s of the rotor phase difference. However, the induced voltage constant Ke may be estimated from the command value Vd_c of the d-axis voltage, the command value Vq_c of the q-axis voltage, the detection value Id_s of the d-axis current, and the detection value Iq_s of the q-axis current. 

1. A controller for a motor that controls the operation of a permanent magnet field type rotary motor that has a first rotor and a second rotor having a plurality of fields constituted by permanent magnets and disposed around a rotating shaft, the controller comprising: a rotor phase difference changing means that changes a rotor phase difference between said first rotor and said second rotor; an inverter that converts a direct-current voltage supplied from a direct-current power supply into a polyphase alternating-current voltage and applies the polyphase alternating-current voltage to an armature of said motor; and an energization controlling means that controls a phase current, which is a vector sum of currents flowing through armatures of the respective phases of said motor via said inverter, according to a predetermined torque command, wherein the controller further comprises: a number-of-revolutions detecting means that detects the number of revolutions of said motor; and a rotor phase difference controlling means that makes said rotor phase difference changing means change said rotor phase difference based on the output voltage of said direct-current power supply, the number of revolutions of said motor, and said torque command in such a manner that the phase current required to produce a torque according to said torque command is minimized.
 2. The controller for a motor according to claim 1, wherein said rotor phase difference controlling means applies a correlation map for determining an induced voltage constant that minimizes the phase current of said motor for direct-current voltage supplied to said inverter, number of revolutions of said motor and torque of said motor, which are preset, to the output voltage of said direct-current power supply, the number of revolutions of said motor detected by said number-of-revolutions detecting means and said torque command, thereby obtaining an induced voltage constant therefor, and changes the rotor phase difference of said motor according to the obtained induced voltage constant.
 3. The controller for a motor according to claim 2, wherein said motor is converted into an equivalent circuit having a d-axis armature on a d-axis extending in the direction of magnetic fluxes of the fields and a q-axis armature on a q-axis orthogonal to the d-axis, said energization controlling means carries out energization control in such a manner that the difference between an actual value and a command value of the d-axis current, which is a current flowing through the d-axis armature, is reduced, and the difference between an actual value and a command value of the q-axis current, which is a current flowing through the q-axis armature, is reduced, and the controller further comprises a current command setting means that designates a combination of a d-axis current and a q-axis current that minimizes the magnitude of a dq-axis current, which is a vector sum of the d-axis current and the q-axis current as a first dq current setting based on the induced voltage constant of said motor according to said rotor phase difference, wherein the combination is among combinations of a d-axis current and a q-axis current that provide the torque according to said torque command, and said current command setting means estimates induced voltages produced in the d-axis armature and the q-axis armature when a d-axis current and a q-axis current according to the first dq current setting are supplied, respectively, based on the induced voltage constant of said motor according to said rotor phase difference and the number of revolutions of said motor, and said current command setting means designates the d-axis current according to the first dq current setting as a command value of the d-axis current and the q-axis current according to the first dq current setting as a command value of the q-axis current in the case where a dq determination voltage, which is a vector sum of the estimated induced voltage produced in the d-axis armature and the estimated induced voltage produced in the q-axis armature, is equal to or lower than a limited voltage set according to the output voltage of said direct-current power supply, and a first dq determination current, which has a magnitude equal to the magnitude of the dq-axis current according to the first dq current setting, is equal to or lower than a predetermined limited current.
 4. The controller for a motor according to claim 3, wherein, in the case where said dq determination voltage is equal to or lower than said limited voltage, and said first dq determination current is higher than said limited current, said current command setting means designates a combination of a d-axis current and a q-axis current that makes the magnitude of the dq-axis current equal to the magnitude of said limited current and maximizes the torque of said motor as a second dq current setting and designates the d-axis current according to the second dq current setting as a command value of the d-axis current and the q-axis current according to the second dq current setting as a command value of the q-axis current.
 5. The controller for a motor according to claim 2, wherein said motor is converted into an equivalent circuit having a d-axis armature on a d-axis extending in the direction of magnetic fluxes of the fields and a q-axis armature on a q-axis orthogonal to the d-axis, said energization controlling means carries out energization control in such a manner that the difference between an actual value and a command value of the d-axis current, which is a current flowing through the d-axis armature, is reduced, and the difference between an actual value and a command value of the q-axis current, which is a current flowing through the q-axis armature, is reduced, and the controller further comprises a current command setting means that designates a combination of a d-axis current and a q-axis current that minimizes the magnitude of a dq-axis current, which is a vector sum of the d-axis current and the q-axis current, as a first dq current setting based on the induced voltage constant of said motor according to said rotor phase difference, wherein the combination is among combinations of a d-axis current and a q-axis current that provide the torque according to said torque command, and said current command setting means estimates induced voltages produced in the d-axis armature and the q-axis armature when a d-axis current and a q-axis current according to the first dq current setting are supplied, respectively, based on the induced voltage constant of said motor according to said rotor phase difference and the number of revolutions of said motor, and said current command setting means designates the d-axis current according to the first dq current setting as a command value of the d-axis current and the q-axis current according to the first dq current setting as a command value of the q-axis current in the case where a dq determination voltage, which is a vector sum of the estimated induced voltage produced in the d-axis armature and the estimated induced voltage produced in the q-axis armature, is equal to or lower than a limited voltage set according to the output voltage of said direct-current power supply, and a first dq determination current, which has a magnitude equal to the magnitude of the dq-axis current according to the first dq current setting, is equal to or lower than a predetermined limited current.
 6. The controller for a motor according to claim 5, wherein, in the case where said dq determination voltage is equal to or lower than said limited voltage, and said first dq determination current is higher than said limited current, said current command setting means designates a combination of a d-axis current and a q-axis current that makes the magnitude of the dq-axis current equal to the magnitude of said limited current and maximizes the torque of said motor as a second dq current setting and designates the d-axis current according to the second dq current setting as a command value of the d-axis current and the q-axis current according to the second dq current setting as a command value of the q-axis current.
 7. The controller for a motor according to claim 1, wherein said motor is converted into an equivalent circuit having a d-axis armature on a d-axis extending in the direction of magnetic fluxes of the fields and a q-axis armature on a q-axis orthogonal to the d-axis, said energization controlling means carries out energization control in such a manner that the difference between an actual value and a command value of the d-axis current, which is a current flowing through the d-axis armature, is reduced, and the difference between an actual value and a command value of the q-axis current, which is a current flowing through the q-axis armature, is reduced, and the controller further comprises a current command setting means that designates a combination of a d-axis current and a q-axis current that minimizes the magnitude of a dq-axis current, which is a vector sum of the d-axis current and the q-axis current as a first dq current setting based on the induced voltage constant of said motor according to said rotor phase difference, wherein the combination is among combinations of a d-axis current and a q-axis current that provide the torque according to said torque command, and said current command setting means estimates induced voltages produced in the d-axis armature and the q-axis armature when a d-axis current and a q-axis current according to the first dq current setting are supplied, respectively, based on the induced voltage constant of said motor according to said rotor phase difference and the number of revolutions of said motor, and said current command setting means determines whether or not a second dq determination current having a magnitude equal to the magnitude of the dq-axis current according to a third dq current setting is equal to or lower than a predetermined limited current if the third dq current setting, which is a combination of a d-axis current and a q-axis current that maximizes the torque of said motor, can be calculated in the case where a dq determination voltage, which is a vector sum of the estimated induced voltage produced in the d-axis armature and the estimated induced voltage produced in the q-axis armature, is higher than a limited voltage set according to the output voltage of said direct-current power supply, and a dq induced voltage, which is a vector sum of the induced voltage produced in the d-axis armature and the induced voltage produced in the q-axis armature, is equal to said limited voltage, and designates the d-axis current according to the third dq current setting as a command value of the d-axis current and the q-axis current according to the third dq current setting as a command value of the q-axis current if the second dq determination current is equal to or lower than the limited current.
 8. The controller for a motor according to claim 7, wherein, when it is found that said second dq determination current is higher than said limited current as the result of the determination of whether or not said second dq determination current is equal to or lower than said limited current, said current command setting means determines whether or not a fourth dq current setting, which is a combination of a d-axis current and a q-axis current that makes the magnitude of the dq-axis current equal to the magnitude of the limited current and makes the dq induced voltage equal to said limited current, can be calculated, and designates the d-axis current according to the fourth dq current setting as a command value of the d-axis current and the q-axis current according to the fourth dq current setting as a command value of the q-axis current if it is determined that the fourth dq current setting can be calculated.
 9. The controller for a motor according to claim 2, wherein said motor is converted into an equivalent circuit having a d-axis armature on a d-axis extending in the direction of magnetic fluxes of the fields and a q-axis armature on a q-axis orthogonal to the d-axis, said energization controlling means carries out energization control in such a manner that the difference between an actual value and a command value of the d-axis current, which is a current flowing through the d-axis armature, is reduced, and the difference between an actual value and a command value of the q-axis current, which is a current flowing through the q-axis armature, is reduced, and the controller further comprises a current command setting means that designates a combination of a d-axis current and a q-axis current that minimizes the magnitude of a dq-axis current, which is a vector sum of the d-axis current and the q-axis current as a first dq current setting based on the induced voltage constant of said motor according to said rotor phase difference, wherein the combination is among combinations of a d-axis current and a q-axis current that provide the torque according to said torque command, and said current command setting means estimates induced voltages produced in the d-axis armature and the q-axis armature when a d-axis current and a q-axis current according to the first dq current setting are supplied, respectively, based on the induced voltage constant of said motor according to said rotor phase difference and the number of revolutions of said motor, and said current command setting means determines whether or not a second dq determination current having a magnitude equal to the magnitude of the dq-axis current according to a third dq current setting is equal to or lower than a predetermined limited current if the third dq current setting, which is a combination of a d-axis current and a q-axis current that maximizes the torque of said motor, can be calculated in the case where a dq determination voltage, which is a vector sum of the estimated induced voltage produced in the d-axis armature and the estimated induced voltage produced in the q-axis armature, is higher than a limited voltage set according to the output voltage of said direct-current power supply, and a dq induced voltage, which is a vector sum of the induced voltage produced in the d-axis armature and the induced voltage produced in the q-axis armature, is equal to said limited voltage, and designates the d-axis current according to the third dq current setting as a command value of the d-axis current and the q-axis current according to the third dq current setting as a command value of the q-axis current if the second dq determination current is equal to or lower than the limited current.
 10. The controller for a motor according to claim 9, wherein, when it is found that said second dq determination current is higher than said limited current as the result of the determination of whether or not said second dq determination current is equal to or lower than said limited current, said current command setting means determines whether or not a fourth dq current setting, which is a combination of a d-axis current and a q-axis current that makes the magnitude of the dq-axis current equal to the magnitude of the limited current and makes the dq induced voltage equal to said limited current, can be calculated, and designates the d-axis current according to the fourth dq current setting as a command value of the d-axis current and the q-axis current according to the fourth dq current setting as a command value of the q-axis current if it is determined that the fourth dq current setting can be calculated.
 11. The controller for a motor according to claim 1, wherein said motor is converted into an equivalent circuit having a d-axis armature on a d-axis extending in the direction of magnetic fluxes of the fields and a q-axis armature on a q-axis orthogonal to the d-axis, said energization controlling means carries out energization control in such a manner that the difference between an actual value and a command value of the d-axis current, which is a current flowing through the d-axis armature, is reduced, and the difference between an actual value and a command value of the q-axis current, which is a current flowing through the q-axis armature, is reduced, and the controller further comprises a current command setting means that designates a combination of a d-axis current and a q-axis current that minimizes the magnitude of a dq-axis current, which is a vector sum of the d-axis current and the q-axis current, as a first dq current setting based on the induced voltage constant of said motor according to said rotor phase difference, wherein the combination is among combinations of a d-axis current and a q-axis current that provide the torque according to said torque command, and said current command setting means estimates induced voltages produced in the d-axis armature and the q-axis armature when a d-axis current and a q-axis current according to the first dq current setting are supplied, respectively, based on the induced voltage constant of said motor according to said rotor phase difference and the number of revolutions of said motor, and said current command setting means calculates a fifth dq current setting, which is a combination of a d-axis current and a q-axis current that maximizes the torque of said motor for the induced voltage constant of said motor and makes said dq induced voltage equal to said limited voltage, if a third dq current setting, which is a combination of a d-axis current and a q-axis current that maximizes the torque of said motor, cannot be calculated in the case where a dq determination voltage, which is a vector sum of the estimated induced voltage produced in the d-axis armature and the estimated induced voltage produced in the q-axis armature, is higher than a limited voltage set according to the output voltage of said direct-current power supply, and a dq induced voltage, which is a vector sum of the induced voltage produced in the d-axis armature and the induced voltage produced in the q-axis armature, is equal to said limited voltage, and said current command setting means determines whether or not a third determination current having a magnitude equal to the magnitude of the dq-axis current according to the fifth dq current setting is equal to or lower than said limited current, and designates the d-axis current according to the fifth dq current setting as a command value of the d-axis current and the q-axis current according to the fifth dq current setting as a command value of the q-axis current if the third determination current is equal to or lower than said limited current.
 12. The controller for a motor according to claim 11, wherein, in the case where it is found that said third dq determination current is higher than said limited current as the result of the determination of whether or not said third dq determination current is equal to or lower than said limited current, said current command setting means determines whether or not a fourth dq current setting, which is a combination of a d-axis current and a q-axis current that makes the magnitude of the dq-axis current equal to the magnitude of the limited current and makes the dq induced voltage equal to said limited current, can be calculated, and designates the d-axis current according to the fourth dq current setting as a command value of the d-axis current and the q-axis current according to the fourth dq current setting as a command value of the q-axis current if it is determined that the fourth dq current setting can be calculated.
 13. The controller for a motor according to claim 2, wherein said motor is converted into an equivalent circuit having a d-axis armature on a d-axis extending in the direction of magnetic fluxes of the fields and a q-axis armature on a q-axis orthogonal to the d-axis, said energization controlling means carries out energization control in such a manner that the difference between an actual value and a command value of the d-axis current, which is a current flowing through the d-axis armature, is reduced, and the difference between an actual value and a command value of the q-axis current, which is a current flowing through the q-axis armature, is reduced, and the controller further comprises a current command setting means that designates a combination of a d-axis current and a q-axis current that minimizes the magnitude of a dq-axis current, which is a vector sum of the d-axis current and the q-axis current, as a first dq current setting based on the induced voltage constant of said motor according to said rotor phase difference, wherein the combination is among combinations of a d-axis current and a q-axis current that provide the torque according to said torque command, and said current command setting means estimates induced voltages produced in the d-axis armature and the q-axis armature when a d-axis current and a q-axis current according to the first dq current setting are supplied, respectively, based on the induced voltage constant of said motor according to said rotor phase difference and the number of revolutions of said motor, and said current command setting means calculates a fifth dq current setting, which is a combination of a d-axis current and a q-axis current that maximizes the torque of said motor for the induced voltage constant of said motor and makes said dq induced voltage equal to said limited voltage, if a third dq current setting, which is a combination of a d-axis current and a q-axis current that maximizes the torque of said motor, cannot be calculated in the case where a dq determination voltage, which is a vector sum of the estimated induced voltage produced in the d-axis armature and the estimated induced voltage produced in the q-axis armature, is higher than a limited voltage set according to the output voltage of said direct-current power supply, and a dq induced voltage, which is a vector sum of the induced voltage produced in the d-axis armature and the induced voltage produced in the q-axis armature, is equal to said limited voltage, and said current command setting means determines whether or not a third determination current having a magnitude equal to the magnitude of the dq-axis current according to the fifth dq current setting is equal to or lower than said limited current, and designates the d-axis current according to the fifth dq current setting as a command value of the d-axis current and the q-axis current according to the fifth dq current setting as a command value of the q-axis current if the third determination current is equal to or lower than said limited current.
 14. The controller for a motor according to claim 13, wherein, in the case where it is found that said third dq determination current is higher than said limited current as the result of the determination of whether or not said third dq determination current is equal to or lower than said limited current, said current command setting means determines whether or not a fourth dq current setting, which is a combination of a d-axis current and a q-axis current that makes the magnitude of the dq-axis current equal to the magnitude of the limited current and makes the dq induced voltage equal to said limited current, can be calculated, and designates the d-axis current according to the fourth dq current setting as a command value of the d-axis current and the q-axis current according to the fourth dq current setting as a command value of the q-axis current if it is determined that the fourth dq current setting can be calculated. 